package com.zs.backend.modules.certificate.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import java.io.Serializable;
import java.util.Date;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 证书表
 * </p>
 *
 * @author zs
 * @since 2024-03-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("user_certificate")
@ApiModel(value = "UserCertificate对象", description = "证书表")
public class UserCertificate implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("所属公司id")
    private Long companyId;

    @ApiModelProperty("所属公司名称")
    private String companyName;

    @ApiModelProperty("收证人id")
    private Long acceptCertificateUserId;

    @ApiModelProperty("收证人")
    private String acceptCertificateUserName;

    @ApiModelProperty("职称年份")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date titleTime;

    @ApiModelProperty("人才姓名")
    private String personnelName;

    @ApiModelProperty("人才电话")
    private String personnelTel;

    @ApiModelProperty("职称专业")
    private String titleMajor;

    @ApiModelProperty("职称类型")
    private String titleType;

    @ApiModelProperty("证书类型")
    private String certificateTypeName;

    @ApiModelProperty("毕业专业")
    private String graduationMajor;

    @ApiModelProperty("毕业年份")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date graduationTime;

    @ApiModelProperty("学历（1：专科，2：本科 ，3：硕士）")
    private String qualification;

    @ApiModelProperty("电子、纸质（1：电子，2：纸质）")
    private String category;

    @ApiModelProperty("个人证书类别(1:注册类；2：非注册类)")
    private Integer type;

    @ApiModelProperty("身份证号")
    private String idCard;

    @ApiModelProperty("证书归属地")
    private String certificateBelongingPlace;

    @ApiModelProperty("证书归属地 code")
    private String placeCode;

    @ApiModelProperty("价格资质")
    private String price;

    @ApiModelProperty("职称编号")
    private String titleNumber;

    @ApiModelProperty("上传证书-数据库")
    @TableField(select = false)
    private byte[] certificateData;

    @ApiModelProperty("限制地区")
    private String restrictedAreas;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    @ApiModelProperty("创建人id")
    private Long createUid;

    @ApiModelProperty("创建人名称")
    private String createUname;

    @ApiModelProperty("状态（0：正常;1：删除）")
    private Integer status;

    @ApiModelProperty("文件名字")
    private String certificateDataName;

    @ApiModelProperty("上传的文件类型")
    private String certificateDataType;

    @ApiModelProperty("限制地区 code")
    private String restrictedAreasCode;

    @ApiModelProperty("上传的文件地址")
    private String fileUrl;

    @ApiModelProperty("上传的文件地址")
    private String filePath;

//    @ApiModelProperty("上传文件参数")
//    private MultipartFile certificateFile;

}
